git-xstate
authorGNU Libc Maintainers <debian-glibc@lists.debian.org>
Tue, 5 Aug 2025 17:34:49 +0000 (19:34 +0200)
committerAurelien Jarno <aurel32@debian.org>
Tue, 5 Aug 2025 17:34:49 +0000 (19:34 +0200)
commitf76fcc8681c6d6678411a8c70132500f721663e2
tree833de3f898828a210c01e31bcae6ee10de5d28bd
parent81e2d35a0828740db5635b86b244d7a2ab4c42d8
git-xstate

commit 6d6a6e2dd2133908e3f5cb8a2ed817ccb2a0bb06
Author: Luca Dariz <luca@orpolo.org>
Date:   Wed Mar 19 18:11:18 2025 +0100

    hurd: save xstate during signal handling

    * hurd/Makefile: add new tests
    * hurd/test-sig-rpc-interrupted.c: check xstate save and restore in
      the case where a signal is delivered to a thread which is waiting
      for an rpc. This test implements the rpc interruption protocol used
      by the hurd servers. It was so far passing on Debian thanks to the
      local-intr-msg-clobber.diff patch, which is now obsolete.
    * hurd/test-sig-xstate.c: check xstate save and restore in the case
      where a signal is delivered to a running thread, making sure that
      the xstate is modified in the signal handler.
    * hurd/test-xstate.h: add helpers to test xstate
    * sysdeps/mach/hurd/i386/bits/sigcontext.h: add xstate to the
      sigcontext structure.
    + sysdeps/mach/hurd/i386/sigreturn.c: restore xstate from the saved
      context
    * sysdeps/mach/hurd/x86/trampoline.c: save xstate if
      supported. Otherwise we fall back to the previous behaviour of
      ignoring xstate.
    * sysdeps/mach/hurd/x86_64/bits/sigcontext.h: add xstate to the
      sigcontext structure.
    * sysdeps/mach/hurd/x86_64/sigreturn.c: restore xstate from the saved
      context

Signed-off-by: Luca Dariz <luca@orpolo.org>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Message-ID: <20250319171118.142163-1-luca@orpolo.org>

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-xstate.diff
hurd/Makefile
hurd/test-sig-rpc-interrupted.c [new file with mode: 0644]
hurd/test-sig-xstate.c [new file with mode: 0644]
hurd/test-xstate.h [new file with mode: 0644]
sysdeps/mach/hurd/i386/bits/sigcontext.h
sysdeps/mach/hurd/i386/sigreturn.c
sysdeps/mach/hurd/x86/trampoline.c
sysdeps/mach/hurd/x86_64/bits/sigcontext.h
sysdeps/mach/hurd/x86_64/sigreturn.c